<?php
// PDO数据库连接参数
require_once 'databaseConnection.php';
try {
    // 创建PDO实例
    $conn = connectToDatabase();
    // 设置PDO错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // 获取表单数据
    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $password = $_POST['password'];
    $confirmPassword = $_POST['confirmPassword'];
    // 数据验证
    if (empty($name) || empty($phone) || empty($password) || empty($confirmPassword)) {
        die('姓名、电话、密码或确认密码不能为空。');
    }
    // 验证电话号码格式
    if (!preg_match('/^1[3456789]\d{9}$/', $phone)) {
        die('电话号码格式不正确，请输入正确的手机号码。');
    }
    // 验证两次输入的密码是否一致
    if ($password !== $confirmPassword) {
        die('两次输入的密码不一致，请重新输入。');
    }
    // 对密码进行哈希加密
    $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
    // 准备插入数据的SQL语句
    $sql = "INSERT INTO account (username, phone, password, role) VALUES (:username, :phone, :password, :role)";
    $stmt = $conn->prepare($sql);
    // 设置默认角色值为'顾客'
    $defaultRole = '顾客';
    // 绑定参数并执行
    $stmt->bindParam(':username', $name);
    $stmt->bindParam(':phone', $phone);
    $stmt->bindParam(':password', $hashedPassword);
    $stmt->bindParam(':role', $defaultRole);
    if ($stmt->execute()) {
        echo '数据保存成功';
    } else {
        echo '数据保存失败';
    }
} catch (PDOException $e) {
    echo '数据保存失败: ' . $e->getMessage();
}
